# Copyright 2012 Brett Ponsler
# This file is part of siriviewer.
#
# siriviewer is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# siriviewer is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with siriviewer.  If not, see <http://www.gnu.org/licenses/>.
''' '''
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QMainWindow

from siriviewer.siriView import SiriView

from pysiriproxy.testing import PluginTester


class SiriViewer(QMainWindow, PluginTester):
    ''' '''
    def __init__(self, logData):
        ''' '''
        QMainWindow.__init__(self)
        PluginTester.__init__(self, logData)

        self.__view = SiriView("SiriView", self, self, logData)

        self.setCentralWidget(self.__view)

        # @todo: this can change back to 400 once the scrollbar is
        #        never displayed
        self.setGeometry(0, 0, 410, 600)

    def show(self):
        ''' '''
        QMainWindow.show(self)
        self.__view.show()

    def iPhoneCallback(self, cls, obj):
        ''' '''
        print "iPhone OBJ:", obj

    def guzzoniCallback(self, cls, obj):
        ''' '''
        className = obj.get('class')

        # Ignore the RequestCompleted object for now
        if className != "RequestCompleted":
            print "Guzzoni OBJ:", obj
            self.__view.addResponseObject(obj)
